package com.py.credit.dao;

import java.util.List;
import java.util.Map;

import org.apache.ibatis.annotations.Param;

import com.py.framework.core.common.Page;

public interface XylyjcDao {
	List<Map<String,Object>> getWspDatas();
	
	List<Map<String,Object>> getPromiseBooksByConditionForPage(
			@Param(value = "type")String type,@Param(value = "ztType")String ztType,
			@Param(value = "lyzt")String lyzt,@Param(value = "relationStatus")String relationStatus,
			@Param(value = "deptId")Long deptId , @Param(value = "columns")List<String> columns, @Param(value = "additionalColumns")String[] additionalColumns, @Param(value = "conditions")List<String> conditions, @Param(value = "page")Page page,@Param(value = "sbtype")String sbtype,
			@Param(value = "userId")Long userId,
			@Param(value = "tablename")String tablename);
	
	
	List<String> selectTybm(@Param(value = "tableName")String tableName,@Param(value = "fieldZtName")String fieldZtName,@Param(value = "ztName")String ztName,@Param(value = "fieldTyshbm")String fieldTyshbm,@Param(value = "tyshxydm")String tyshxydm); 
	
	int approvalPromiseBook(@Param(value = "userId")Long userId , @Param(value = "userName")String userName ,
			@Param(value = "id")Long id,@Param(value = "bookStatus")String bookStatus , @Param(value = "approvalOpinion")String approvalOpinion,  @Param(value = "tybm")String tybm ,@Param(value = "relationStatus")String relationStatus);
	
	List<String> selectTybmByZt(
			@Param(value = "ztName")String ztName,
			@Param(value = "tyshxydm")String tyshxydm ,
			@Param(value = "tableName")String tableName,@Param(value = "field1") String field1 ,@Param(value = "field2") String field2);
	
	void renewPromiseBooks(@Param(value = "tybm")String tybm ,@Param(value = "id")Long id);

	String promiseBookPreview(@Param(value = "id")Long id);
	
	Map<String,String> selectOne(@Param(value = "id")Long id);
	
	 List<Map<String, Object>> selectXycnForPage( @Param(value = "name") String name,
    		 @Param(value = "startTime") String startTime,
    		 @Param(value = "endTime") String endTime,
    		 @Param(value = "type") String type,
            @Param(value = "page") Page page);

	List<Map<String, Object>> getXylyGCByConditionForPage(
			@Param(value = "lyzt")String lyzt,@Param(value = "relationStatus")String relationStatus,
			@Param(value = "deptId")Long deptId , @Param(value = "columns")List<String> columns, @Param(value = "additionalColumns")String[] additionalColumns, @Param(value = "conditions")List<String> conditions, @Param(value = "page")Page page);
	List<Map<String, Object>> getXylyGQByConditionForPage(
			@Param(value = "lyzt")String lyzt,@Param(value = "relationStatus")String relationStatus,
			@Param(value = "deptId")Long deptId , @Param(value = "columns")List<String> columns, @Param(value = "additionalColumns")String[] additionalColumns, @Param(value = "conditions")List<String> conditions, @Param(value = "page")Page page);
	List<Map<String, Object>> getXylyGGByConditionForPage(
			@Param(value = "lyzt")String lyzt,@Param(value = "relationStatus")String relationStatus,
			@Param(value = "deptId")Long deptId , @Param(value = "columns")List<String> columns, @Param(value = "additionalColumns")String[] additionalColumns, @Param(value = "conditions")List<String> conditions, @Param(value = "page")Page page);
	List<Map<String, Object>> getXylyZFByConditionForPage(
			@Param(value = "lyzt")String lyzt,@Param(value = "relationStatus")String relationStatus,
			@Param(value = "deptId")Long deptId , @Param(value = "columns")List<String> columns, @Param(value = "additionalColumns")String[] additionalColumns, @Param(value = "conditions")List<String> conditions, @Param(value = "page")Page page);
	
}